import axios from "../utils/axios"
let initState = {
    arr:[]
}
// 第一步去写组件，第二步action，第三步，reducer
let tablereducer = (state=initState,{type,payload} )=>{
  switch(type){
      case "getlist" :
        let newArr = JSON.parse(JSON.stringify(state.arr)) // 不直接修改原来state中的数据，我们对原数据进行一个拷贝
        newArr = payload
        return {
          ...state,
          arr:newArr
        }
      case "delfn" :
        let delArr = JSON.parse(JSON.stringify(state.arr))// 如果数据不进行拷贝，就删不到
        delArr.splice(payload,1)
        return {
          ...state,
          arr:delArr
        }
      case "editfn" :
        let eidtarr = JSON.parse(JSON.stringify(state.arr))
       
        eidtarr[payload.index] = payload
        eidtarr[payload.index].key = new Date().getTime()

        return {
          ...state,
          arr:eidtarr
        }
      case "addfn" :
        payload.key = new Date().getTime()
        let addtarr = JSON.parse(JSON.stringify(state.arr))
        addtarr.push(payload)
        return {
          ...state,
          arr:addtarr
        }
      default:
        return {
          ...state
        }
  }
  
}
export default tablereducer